package com.example.simple_factory.controller;

import com.example.simple_factory.factory.LotteryFactory;
import com.example.simple_factory.service.SendPrizesService;
import com.example.entity.AwardInfo;

public class AwardInfoController {

    /**
     * 代码 不符合开闭原则 没有扩展性
     * <p>
     * 模拟 用户注册完后  参加抽奖活动  其中  awardType 代表用户参与的活动
     * 这里使用的是 硬编码的方式 直接实现的  后面用工厂模式 进行优化
     */
    public static void sendPrizes(AwardInfo awardInfo) {
        SendPrizesService instance = LotteryFactory.getInstance(awardInfo.getAwardType());
        instance.sendPrizes(awardInfo);
    }

    public static void main(String[] args) {
        AwardInfo awardInfo = new AwardInfo();
        awardInfo.setUid("1111");
        awardInfo.setAwardType(1);
        awardInfo.setAwardNumber("23131313");
        awardInfo.setExtMap(null);

        sendPrizes(awardInfo);

    }

}
